package sort;

import java.util.Arrays;

/**
 * @Description: 测试排序
 * @Author Stark
 * @Date 2022/3/17 21:08
 **/
public class SortTest {
    public static void main(String[] args) {
        if(false) {
            int[] arr = new int[]{6,4,5,8,0,5,9,1,2,3,5,5,10,7};
            SevenSortReview2.mergeSortVersion2(arr);
            System.out.println(Arrays.toString(arr));
        }else {
            int n = 100000;
            int[] arr = SortHelper.generateRandomArray(n,0, n);
//            int[] arr = SortHelper.generateSoredArray(n,1000);
            int[] arrCopy1 = SortHelper.arrCopy(arr);
//            int[] arrCopy2 = SortHelper.arrCopy(arr);
//            int[] arrCopy3 = SortHelper.arrCopy(arr);
//            int[] arrCopy4 = SortHelper.arrCopy(arr);
//            int[] arrCopy5 = SortHelper.arrCopy(arr);
            int[] arrCopy6 = SortHelper.arrCopy(arr);
            int[] arrCopy7 = SortHelper.arrCopy(arr);
//            int[] arrCopy8 = SortHelper.arrCopy(arr);
//            int[] arrCopy9 = SortHelper.arrCopy(arr);
//            int[] arrCopy10 = SortHelper.arrCopy(arr);
//            SortHelper.testSort("selectionSort", arr);
//            SortHelper.testSort("selectionSortOp", arrCopy1);
//            SortHelper.testSort("bubbleSort",arrCopy1);
//            SortHelper.testSort("insertSort", arrCopy1);
//            SortHelper.testSort("insertSortOp", arrCopy2);
//            SortHelper.testSort("insertSortBS", arrCopy3);
//            SortHelper.testSort("shellSort", arrCopy4);
//            SortHelper.testSort("mergeSortVersion1", arrCopy5);
            SortHelper.testSort("mergeSortVersion2", arrCopy6);
//            SortHelper.testSort("mergeSortNonRecursion", arrCopy7);
            SortHelper.testSort("quickSort", arrCopy7);
//            SortHelper.testSort("quickSort2", arrCopy8);
//            SortHelper.testSort("quickSortNonRecursion", arrCopy9);
//            SortHelper.testSort("heapSort", arrCopy10);
        }
    }
}
